package vip.zhenzicheng.algorithm.huawei_od;

import java.util.HashMap;
import java.util.Scanner;

/**
 * 接受一个十六进制字符串，转换为十进制输出
 * 例如：0xAA -> 170, 0x2C -> 44
 * 输入数字的范围 [1 ~ 2^31-1]
 *
 * @author zhenzicheng
 * @date 2023-02-24 17:52
 */
public class Hj5 {
  static int result = 0;
  static HashMap<String, Integer> map = new HashMap<>(16);

  // 初始化一遍直接get
  static {
    for (int i = 0; i < 10; i++) {
      map.put(String.valueOf(i), i);
    }
    map.put("A", 10);
    map.put("B", 11);
    map.put("C", 12);
    map.put("E", 14);
    map.put("D", 13);
    map.put("F", 15);
  }

  public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    // 注意 hasNext 和 hasNextLine 的区别
    String num = in.next();
    int len = num.length();
    int x = 0;
    for (int i = len - 1; i >= 2; i--) { // 倒序遍历
      String indexChar = String.valueOf(num.charAt(i));
      // 拿到10进制对应的数
      int numericOf10 = map.get(indexChar);
      result += (numericOf10 * Math.pow(16, x++));
    }
    System.out.println(result);
  }
}
